The ubiquity of mobile devices generates a lot of data about the location and movement of users. This data can be collected and analysed to obtain information such as how and why people make journeys. There are many applications that can use this data. Examples of such applications include:                Planning of transportation infrastructure; by analyzing when and where people make journeys, transportation infrastructure can be optimized to take into account factors such as the most commonly made journeys, areas of congestions and so on.        Analyze the effect of natural disasters; in seeing how people's movements respond to natural disasters, the effects can be analyzed and plans put in place for future natural disasters.        Planning and measuring effectiveness of advertising campaigns.        Retail planning and site selection; for example, footfall past certain areas can be monitored to determine suitable sites for retail locations (or other types of locations, such as doctors' surgeries, police stations, information kiosks).        Studying the spread of diseases; for example, the mobility of users known to be infected with a disease can be analyzed.        
Of course, it is helpful to have detailed the knowledge about an individual user's location and movement.
A common way of describing human mobility is using an Origin-Destination Matrix (O/D matrix). FIG. 1 is an example of an O/D matrix in which a geographical area (in this example, central Beijing) is divided into sub areas (also termed areas of interest), in this example A1, A2, B1 and B2. This information is stored in a “Geographical Area Definition Database”.
The number of people travelling from one sub area to another sub area is measured or estimated. This may be done, for example, by counting cars on a given road, performing travel surveys, or equipping people with different sensors to measure their movement. The number of people travel between each area is then summarized in a matrix (as shown in Table 1).
TABLE 1O/D matrix09.00-10.00A1A2B1B2A1—532156312283652A2156093—32152352B123453256212—983482B2985223561524234—
In the example of Table 1, the number of people who traveled between two areas of interest between the hours of 9 a.m. and 10 a.m. is shown.
As described above, a potential source of location data is from mobile devices. Mobile networks generate a very large amount of data, including location data. Location data may be, for example, GPS co-ordinates of a user's location, or the geographical location of the Access Point to which a user's device is attached. It is possible to build a system that collects location data from mobile networks, analyze it, and expose to be used by different applications and service. An example of such a system is illustrated schematically in a block diagram in FIG. 2. A data collector 1 collects location data from a mobile network 2 and converts it into a usable format. A data analyzer 3 uses the collected location data, and information obtained from an area definitions database 4 containing definitions of geographical areas of interest and a database 5 containing location trace data to create models of mobility. A data exposer 6 stores the mobility models and interfaces with other applications that wish to use the mobility models. The data exposer 6 may also interact with an O/D matrix database 7 to describe mobility.
A system such as the one described in FIG. 2 can be used to create O/D matrices to describe movement in, for example, a city. The analysis performed by the system may be used for a wide variety of purposes. For example, data can be used to plan traffic infrastructure or to plan the location of a shopping mall. Different purposes for the data may require dividing the city into different areas of interest. Even though different mobility patterns need to be studied it is often possible to use the same type of source data.
The O/D matrices that are stored in the O/D database 7 only represent the movement patterns between a fixed set of areas of interest. If another set of area of interests needs to be studied, the O/D matrices need to be recalculated using the same source data. This means that for a system to be able to calculate new matrices based on new areas, the entire source data set needs to be stored. As mentioned above, this requires the storage of a lot of data, as mobile networks generate large amounts of location data. The large amount of source data can also mean that processing-heavy calculations are required on the data set each time a new analysis is to be done. This is expensive in terms of time, resources and storage capacity.